Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

215
Views
Discord.js dice "el mensaje está vacío" pero console.log muestra datos

Actualmente estoy trabajando en un proyecto que envía la información de mis hojas de cálculo de Google a un canal de discordia. Entonces, tengo algunas preguntas:

1) Los datos finales (valor), cuando intento console.log(value) , ¡funcionó!

Eso significa que obtiene los datos de las hojas de cálculo de Google y los configura en (valor).

Pero cuando trato de hacer msg.channel.send(value) , me responde con un bloqueo y dice que no se puede enviar un mensaje vacío, lo que me confunde, ¿por qué?

Y por lo tanto no puedo enviar este valor a mi canal de discordia.


2) Mis datos finales (valor) como se muestra en la parte inferior de mi código, en realidad es una matriz como esta:

 { values: [ [A] , [B] , [C] , [D] , ... ] }

Y no sé cómo cambiarlos a la forma A,B,C,D . ¿Alguien sabe cómo convertirlos?

 const { google } = require('googleapis') async function google_sheet_get() { const auth = new google.auth.GoogleAuth({ keyFile: "./google_sheets/Google_credentials.json", scopes: "https://www.googleapis.com/auth/spreadsheets" }) const client = await auth.getClient() const googleSheets = google.sheets({version: "v4", auth: client}) const spreadsheetId = "My Sheet ID" const getRows = await googleSheets.spreadsheets.values.get({ auth, spreadsheetId, majorDimension: "ROWS", range: "'Day1'!B1:F24" }) return getRows.data } client.on('messageCreate', msg=> { if(msg.content.startsWith(settings.prefix+'ttes')|| msg.content.startsWith(settings.prefix2+'ttes')) { sheet.get().then( value => msg.channel.send(value)) msg.channel.send("Command ttes success.") } })

Realmente aprecio la ayuda, gracias.

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Supongo que el value no es una cadena, cuando miras channel.send() , acepta una cadena, el objeto "MessagePayload" o el objeto "MessageOptions", por lo que si el value es un objeto, intenta interpretarlo como uno de esos y falla porque las propiedades requeridas no están allí.

Intente convertirlo en cadena antes de enviarlo, como: msg.channel.send(`${value}`) o msg.channel.send(value.toString() .


Y en cuanto a la segunda parte de la pregunta, es posible que desee echar un vistazo a Array.flat() .

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!